Method and system for controlling access to content

ABSTRACT

The invention relates to a method and an access control system for controlling access to content, said content being encrypted by content keys (F 1,  F 2 ) stored in a key-locker ( 5 ) encrypted by a key-locker key (KLK). In order to restore the security of the access control system by updating a PC application or a computer ( 2 ) running the PC application without the need for updating a device ( 3 ) using said content, a method is proposed comprising the steps of:—defining at least two access keys (K 1,  K 2 ) and one string (x) by a cryptographic unit ( 1 ),—encrypting said string (x) by said cryptographic unit ( 1 ) using said access keys (K 1,  K 2 ) obtaining at least two cryptographic values (h, E),—storing said cryptographic values (h, E) on a computer ( 2 ) adapted for accessing said content, enabling said computer ( 2 ) to calculate said key-locker key (KLK),—storing said access keys (K 1,  K 2 ) on a device ( 3 ) adapted for accessing said content and transmitting at least one of said cryptographic values (E) either from said computer ( 2 ) or from said cryptographic unit ( 1 ) to said device ( 3 ), enabling said device ( 3 ) to calculate said key-locker key (KLK).

The invention relates to a method of controlling access to content, saidcontent being encrypted by content keys stored in a key-locker encryptedby a key-locker key (KLK). The invention relates further to acorresponding access control system, to a cryptographic unit, a computerand a device for use in such an access control system. Still further,the invention relates to a computer program.

The internet is widely regarded to become one of the most importantmeans for distributing digital music. Despite the many advantages, suchas greatly reduced distribution costs and availability of a much largercatalogue, there are still a number of disadvantages which need to besolved. The lack of copy protection is a major issue preventing themajor record labels to enter this area. It is intended to start aspecial (subscription based) service for downloading protected music. Aspecial PC application is issued to download encrypted files, such asMP3 files, and store them onto a recordable information carrier, such asa CD-R disc using a common PC-based CD or DVD recorder. The encryptedfiles can be played on the PC as well as on common or slightly adapteddevices, e.g. portable MP3-CD players. The keys of the encrypted filesare stored in a so-called key locker, which is an area on the disc thatis set aside for that purpose. The key locker itself is encrypted with akey, the so-called key-locker key that is derived from a system-widesecret and, usually, a unique disc identifier. It should be noted thatthe use of a global secret is required in order to ensure that a disccan be played on any device adapted for this use.

Since the above described PC application can play the encrypted files,it has access to the key-locker key. Therefore, it has also access tothe global secret. From a security point of view this is a weakness,because it is well-known that PC software is relatively easily hacked.Thus, it is expected that the global secret will be compromised on ashort time scale. Replacing a PC application with an updated one torepair a security breach is relatively easy. However, replacing ahardware device such as a portable MP3-CD player is impossible.

It is therefore an object of the present invention to provide a method,which allows recovery from a security breach by replacing the PCapplication without having to change the hardware of the device. It is afurther object of the invention to provide an access control system anddevices for use in such a system as well as a computer program.

This object is achieved by a method of controlling access to content asclaimed in claim 1, said method comprising the steps of:

-   -   defining at least two access keys and one string by a        cryptographic unit,    -   encrypting said string by said cryptographic unit using said        access keys obtaining at least two cryptographic values,    -   storing said cryptographic values on a computer adapted for        accessing said content, enabling said computer to calculate said        key-locker key,    -   storing said access keys on a device adapted for accessing said        content and transmitting at least one of said cryptographic        values either from said computer or from said cryptographic unit        to said device, enabling said device to calculate said        key-locker key.

The invention is based on the idea that the device should make use ofdifferent secrets than the computer. Since it is relatively easy to hacka computer, it must be prevented that the keys used by the device arelost or compromised when the computer is hacked. This is avoidedaccording to the present invention by generating cryptographic values ofa string defined by a cryptographic unit, e.g. a trusted third partysuch as the manufacturer of devices, the service provider or the contentprovider, using access keys also defined by said cryptographic unit andby only providing said cryptographic values to the computer but not saidaccess keys and said string. These access keys are only provided to thedevice, which can not be hacked easily since all functions are usuallyembedded in hardware therein. The access keys, the string and thecryptographic functions for generating the cryptographic values arechosen such that it is easy to compute the key-locker key if the stringis known, but that it is difficult or almost impossible to compute theaccess keys if the string is unknown even if the cryptographic valuesare known.

In this way, the string plays the role of a trapdoor. When the computerhas been broken but the access keys of the device are still unknown anupdate of the access control system is possible by replacing the PCapplication running on the computer or by providing the computer withnew cryptographic values generated by use of a differently chosenstring. In this way, it is not necessary to update the device with newkeys, but it is merely required to provide the device with one of saidcryptographic values which can be done via the computer.

It should be noted that the term encrypting does include any ways ofencryption such as the use of private and public key pairs or of(collusion-resistant) one-way hash functions.

Preferred embodiments of the invention are defined in the dependentclaims. An access control system, preferably for implementing the methodas claimed in claim 1, comprising a cryptographic unit, a computer and adevice is defined in claim 9. The invention relates further to acryptographic unit, to a computer and to a device for use in such anaccess control system as defined in claims 10 to 12. A computer programaccording to the invention comprising computer program code means forcausing a computer to carry out the steps of the method as claimed inclaim 1 when said computer program is run on one or more elements of anaccess control system as claimed in claim 9 is defined in claim 13.

According to a preferred embodiment the content and the key-locker arestored on an information carrier, in particular an optical disc such asa CD or DVD, and the key-locker key is derived from a unique carrieridentifier of said information carrier and one of said cryptographicvalues. Preferably, the cryptographic value used for calculating thekey-locker key is not stored on or provided to the device, but saidcryptographic value is generated by the device by use of the at leasttwo access keys and the other cryptographic value.

It is further preferred, based on the previous embodiment, that thecarrier identifier is read from the information carrier by said computerwhen accessing said information carrier and that the carrier identifieris either transmitted to the device from the computer or is read by thedevice from the information carrier when accessing it. Thus it ispossible, that the device either directly accesses the informationcarrier, e.g. plays a disc on which content downloaded from the internetis stored, or that only the computer accesses the information carrier,reads the unique carrier identifier and transmits the content togetherwith the carrier identifier and the required cryptographic value to thedevice which then plays the content at any time later afterreconstructing the key-locker key required for obtaining the contentkeys for accessing the content.

In a further aspect of the invention the content comprises data files,such as MP3 files, which are each encrypted by different content keys,said content keys being stored in said key-locker. Further, said datafiles are transmitted from the computer to the device together with thecryptographic value. It should be noted that “content” does not onlymean audio data, but may also include any other kind of data such asimage, video or software data that may be played back or used on anydevice. Similarly, the term “device” is not restricted to an audioplayback device such as a portable MP3-CD player but may also includeany other device for playing back or using any kind of data, such as avideo camera, a photo camera, a handheld computer or a portable gamedevice.

Preferably, the key-locker key is calculated by the device using theaccess keys and the received cryptographic value. In a first step thestring defined by the cryptographic unit is reconstructed using thereceived cryptographic value, and, preferably, one of said access keys.In a second step the result, i.e. the reconstructed string is encryptedusing the second access key to obtain the other cryptographic valuewhich is required for calculating the key-locker key. It is thus notnecessary that the device receives all the cryptographic values providedto the computer, but one of said cryptographic values is sufficient.

According to another embodiment of the invention the cryptographic unitdefines a first, variable string and a second, fixed string which isalso stored on the device. One of the at least two cryptographic valuesis then obtained by encrypting only the first string while a secondcryptographic value is obtained by encrypting a combination of saidfirst and second string, e.g. the result of a modulo-2-addition of saidtwo strings. This even more improves security of the overall accesscontrol system since, even if the cryptographic values get lost by ahack of the computer, less information on the access keys and the first,variable string gets lost. Thus, the use of the extra second stringmakes the access control system more secure against adversaries havingmore ciphertext at their disposal.

In order to even more improve security of the access control system in afurther embodiment the second string comprises a first, variable stringportion and a second, fixed string portion. In this embodiment the firststring portion is transmitted to the device either directly from thecryptographic unit or via the computer, while the second string portionis stored on the device already from the beginning together with theaccess keys. Thus, at an update the cryptographic unit only chooses anew first string and a new first string portion of the second string.This leads to a new second string and consequently to new cryptographickeys. The fact that the second string can also be changed each time thecomputer or the application running thereon is updated, introduces morerandomness in the plain texts so that therefore less information can beobtained from the cryptographic values.

As already mentioned, it is preferred that the cryptographic valuesstored on the computer are updated when they have been tampered with.Alternatively or in addition, they may also be updated regularly toimprove security of the access control system.

The invention will now be explained in more detail with reference to thedrawings, in which:

FIG. 1 shows a block diagram of a first embodiment of an access controlaccording to the invention,

FIG. 2 shows a block diagram of a second embodiment of an access controlsystem according to the invention and

FIG. 3 shows a block diagram of a third embodiment of an access controlsystem according to the invention.

The access control system according to the present invention as shown inFIG. 1 comprises a cryptographic unit 1, such as a trusted third party(TTP), a computer 2, such as a personal computer (PC), a device 3, suchas a portable CD player, a MP3-CD player, e.g. a modified version of thePhilips eXpanium, or a DVD player, and an information carrier 4, such asa recordable or rewritable disc such as a CD or DVD, a solid state flashcard or a removable hard disc, on which in a certain area or in acertain way a key-locker 5 is stored. The information carrier 4 furthercontains a unique identifier and possibly other data that has to begiven to the computer 2. The total set of this data will be denoted bythe symbol A. The information carrier 4 is preferably of a recordable orrewritable type so that any kind of data such as audio, video orsoftware data downloaded by the computer 2, e.g. from a server over theinternet, can be stored thereon.

The cryptographic unit 1 chooses randomly a string xεZ₂ ^(m) and twoaccess keys K₁, K₂εZ₂ ^(k) at random. The computer 2 and the PCapplication running thereon then carry the following data: a secretcryptographic value h_(K1)(x)εZ₂ ¹ with 1≦m and a preferably secretcryptographic value E_(K2)(x)εZ₂ ^(m). The function h can be a one-wayfunction or the encryption function E, i.e. they are preferablydifferent. Both cryptographic values h_(K1)(x) and E_(K2)(x) aregenerated by the cryptographic unit 1 and transmitted to the computer 2for storage thereon.

The device 3 instead does not receive the cryptographic values h_(K1)(x)and E_(K2)(x), but the keys K₁ and K₂ used for generating thecryptographic values h_(K1)(X), E_(K2)(x), i.e. the access keys K₁, K₂are the keys of the encryption functions h_(K1) and E_(K2) used forencrypting the defined string x resulting in the cryptographic valuesh_(K1)(x) and E_(K2)(x).

The key-locker key KLK is calculated by the computer 2 as: KLK=f (A,h_(K1) (x)). The function f is chosen such that when the data A, KLK andf itself are known, it is still difficult to derive the cryptographicvalue h_(K1) (x). It is therefore recommended to choose a one-way orencryption function for f.

After downloading data from the internet this data can be either storedon the disc 4 and/or transmitted, e.g. by disc 4, to the device 3 foruse at any place, e.g. MP3 files containing music can be stored on aportable MP3 player. In order to access said files the device 3 needs,at first to access the key-locker to get content keys F₁, F₂ etc. fordecrypting these files. In order to access the key-locker 5 a key-lockerkey KLK is required which can be computed by the device as follows:KLK=f(A,h_(K1)(D_(K2)(E_(K2)(x)))). Therein D_(K2) is the decryptionfunction corresponding to the encryption function E_(K2). By decryptingthe cryptographic value E_(K2)(x) the string x will be obtained on whichthe encryption function h_(K1) will then be applied. The function f isidentical to the function f applied by the computer 2. The necessarydata set A will be either received from the disc 4 directly or,preferably, via the computer 2, from which further the cryptographicvalue E_(K2)(x) is received, preferably via a covert channel. However,the cryptographic value E_(K2)(x) can also be received from acryptographic unit 1 directly together with the access keys K₁, K₂.

The string x thus plays the role of a trapdoor. It is easy to choose xat random. If x is known it is easy to compute the key-locker key KLK,but when x is unknown then it is unfeasibly difficult to compute the keyK₁ even if the cryptographic values h_(K1) (x) and E_(K2) (x) are known.When the computer 2 or the PC application thereon has been broken butthe secret keys K₁, K₂ are still unknown, the access control system caneasily be updated by replacing the PC application based on one withdifferently chosen data x or by providing a new string x to the computer2, i.e. the cryptographic unit 1 chooses a new string x, calculates thecryptographic values h_(K1)(x), E_(K2)(x) and provides them to thecomputer 2. Thus, it is not necessary to provide any new data from thecryptographic unit 1 to the device 3, which only needs to receive thenew cryptographic value E_(K2)(x) from the computer 2.

It can be shown that when the cryptographic value E_(K2)(x) is known,for instance intercepted during transfer from the computer 2 towards thedevice 3, no information on the access key K₂ has leaked. It can furtherbe shown that even when the computer 2 is broken so that bothcryptographic values h_(K1)(x) and E_(K2)(x) are known, only half of theinformation on the access keys K₁, K₂ has leaked (from an informationtheoretical point of view).

FIG. 2 shows a block diagram of an improved embodiment of an accesscontrol system according to the present invention. The system comprisesthe same components as the system as shown in FIG. 1. The differenceconsists in the fact that the cryptographic unit 1 also chooses atrandom a fixed string cεZ₂ ^(m). The computer 2 then contains thefollowing cryptographic values h_(K1)(x) and E_(K2)(x⊕c). The devicethen gets this fixed string as one extra secret. Again, the computer 2computes the key-locker key KLK as described above with reference toFIG. 1. However, the device 3 computes the key-locker key KLKdifferently according to the following relation:KLK=f(A,h_(K1)(D_(K2)(E_(K2)(x⊕c))⊕c)). To enable this computation thedevice 3 has to be provided with the cryptographic value E_(K2)(x⊕c)from the computer 2 or, alternatively, from the cryptographic unit 1.

Compared to the system as shown in FIG. 1, less information on theaccess keys K₁, K₂ and the string c will leak through by revealing thecryptographic values h_(K1)(x) and E_(K2)(x⊕c). This makes the accesscontrol system more secure against adversaries having more ciphertext attheir disposal.

Still another embodiment of an access control system according to thepresent invention is shown in FIG. 3. The difference with respect to thesystem as shown in FIG. 2 consists in the fact that the parameter c isnot fixed anymore but that it can be changed any time the PC applicationor the computer 2 is updated. Therefore a function g is defined asfollows: g:Z₂ ^(m)×Z₂ ^(m): (c₁, c₂)->c≡g(c₁, c₂).

This function g is chosen according to the constrains of the specificapplication. The parameters c, c₁ and c₂ do not necessarily have thesame bit lengths. One of the two parameters, in particular stringportion c₂ which replaces the string c of the embodiment as shown inFIG. 2, is then stored on the device 3 and hence is fixed. By changingthe variable string portion c₁ the complete string c is changed. At anupdate the cryptographic unit 1 will choose a new string portion c₁ andcompute the string c=g (c₁, c₂). On the computer 2 then the datah_(K1)(x), c₁ and E_(K2)(x⊕c) are stored. The computer 2 computes thekey-locker key KLK again as described above, while the device 3 cancompute the key-locker key KLK according to the following relation:KLK=f(A, h_(K1)(D_(K2)(E_(K2)(x⊕c))⊕g(c₁, c₂))). The function is knownonly to the device and thus cannot be compromised by hacking the PCapplication. Every time when the PC application or the computer 2 isupdated, the cryptographic unit 1 chooses different strings x, c₁. Thisleads to a new string c and consequently to new cryptographic valuesh_(K1) (x) and E_(K2) (x⊕c). The fact that the string c can also bechanged each time the PC application or the computer 2 is updated,introduces more randomness in the plaintexts x and x⊕c. Therefore lessinformation can be obtained from the ciphertexts h_(K1) (x), E_(K2)(x⊕c).

According to the access control system as shown in FIG. 1 only theplaintext x can be randomly chosen. It can be shown that 4k bits ofciphertext have to be revealed before all information on the access keysK₁, K₂ is revealed (from an information theoretical point of view). Thishappens after the PC application of the computer 2 has been broken twotimes, if the key length is of the same order as the ciphertext length.Thus, it is more advantageous to use access keys K₁, K₂ whose length isgreater than that of the cryptographic values h, E in order to increasethe unicity distance. It should be noted that this does not mean thatthe access control system is practically broken since it can still becomputationally infeasible to find the access keys K₁, K₂ which will bethe case for a good encryption function E_(K).

According to the embodiment as shown in FIG. 2 the strings x and c canbe randomly chosen only in the beginning. It can be shown that thereinafter three updates, provided the key length is comparable to that ofthe cryptographic values, enough information is available to determinein principle the access keys K₁, K₂. Again for the same reason as above,it is more advantageous to use access keys that are longer than thecryptographic values. However, for good encryption functions h_(K1),E_(K2) this will still be computationally infeasible.

Finally, according to the embodiment as shown in FIG. 3 a new string xand string portion c₁ can be chosen at every update. It can then beshown that the uncertainty about the access keys K₁, K₂ and the stringportion c₂ is independent of the number of ciphertexts that are known.The security level of this system thus becomes much higher as thesecurity level of the systems as shown before.

It should be remarked that in the same way as the parameter c can bechanged, also the access keys K₁ and K₂ can be changed. Additionalfunctions have to be defined in order to make this possible.

1. Method of controlling access to content, said content being encryptedby content keys stored in a key-locker encrypted by a key-locker key,said method comprising the steps of: defining at least two access keysand one string by a cryptographic unit, encrypting said string by saidcryptographic unit using said access keys obtaining at least twocryptographic values, storing said cryptographic values on a computeradapted for accessing said content, enabling said computer to calculatesaid key-locker key, storing said access keys on a device adapted foraccessing said content and transmitting at least one of saidcryptographic values either from said computer or from saidcryptographic unit to said device, enabling said device to calculatesaid key-locker key.
 2. Method as claimed in claim 1, wherein saidcontent and said key-locker are stored on an information carrier, inparticular an optical disk such as a CD or DVD, and wherein saidkey-locker key is derived from a unique carrier identifier of saidinformation carrier and one of said cryptographic values.
 3. Method asclaimed in claim 2, wherein said carrier identifier is read from saidinformation carrier by said computer when accessing said informationcarrier and wherein said carrier identifier is either transmitted tosaid device from said computer or is read by said device from saidinformation carrier when accessing said information carrier.
 4. Methodas claimed in claim 1, wherein said content comprises data files, suchas MP3 files, which are each encrypted by a different content key, saidcontent keys being stored in said key-locker, and wherein said datafiles are transmitted from said computer to said device together withsaid cryptographic value.
 5. Method as claimed in claim 1, wherein saidkey-locker key is calculated by said device using said access keys andsaid received cryptographic value by first reconstructing said string bydecrypting said received cryptographic value and then encrypting saidreconstructed string to obtain said other cryptographic value.
 6. Methodas claimed in claim 1, wherein said cryptographic unit defines a first,variable string and a second, fixed string, which is also stored on saiddevice, and wherein one of said at least two cryptographic values isobtained by encrypting only said first string and one of said at leasttwo cryptographic values is obtained by encrypting a combination of saidfirst and second string.
 7. Method as claimed in claim 6, wherein saidsecond string comprises a first, variable string portion and a second,fixed string portion, wherein said first string portion is transmittedto said device either directly from said cryptographic unit or via saidcomputer and wherein said second string portion is stored on saiddevice.
 8. Method as claimed in claim 1, wherein said string is updatedeither regularly or when the cryptographic values stored on saidcomputer have been tampered with.
 9. Access control system forcontrolling access to content, said content being encrypted by contentkeys stored in a key-locker encrypted by a key-locker key, said systemcomprising: a cryptographic unit for defining at least two access keysand one string and for encrypting said string using said access keysobtaining at least two cryptographic values, a computer, being adaptedfor accessing said content, for storing said cryptographic values,enabling said computer to calculate said key-locker key, a device, beingadapted for accessing said content, for storing said access keys and forreceiving at least one of said cryptographic values either from saidcomputer or from said cryptographic unit, enabling said device tocalculate said key-locker key.
 10. Cryptographic unit for use in anaccess control system for controlling access to content, said contentbeing encrypted by content keys stored in a key-locker encrypted by akey-locker key, said cryptographic unit being adapted for defining atleast two access keys and one string and for encrypting said stringusing said access keys obtaining at least two cryptographic values,wherein said cryptographic values are stored on a computer adapted foraccessing said content, enabling said computer to calculate saidkey-locker key, wherein said access keys are stored on a device adaptedfor accessing said content and wherein at least one of saidcryptographic values is transmitted either from said computer or fromsaid cryptographic unit to said device, enabling said device tocalculate said key-locker key.
 11. Computer for use in an access controlsystem for controlling access to content, said content being encryptedby content keys stored in a key-locker encrypted by a key-locker key,wherein at least two access keys and one string are defined and saidstring is encrypted using said access keys by a cryptographic unitobtaining at least two cryptographic values, the computer being adaptedfor accessing said content and for storing said cryptographic values,enabling said computer to calculate said key-locker key, wherein saidaccess keys are stored on a device adapted for accessing said contentand wherein at least one of said cryptographic values is transmittedeither from said computer or from said cryptographic unit to saiddevice, enabling said device to calculate said key-locker key.
 12. Adevice for use in an access control system for controlling access tocontent, said content being encrypted by content keys stored in akey-locker encrypted by a key-locker key, wherein at least two accesskeys and one string are defined and said string is encrypted using saidaccess keys by a cryptographic unit obtaining at least two cryptographicvalues, wherein said cryptographic values are stored on a computeradapted for accessing said content, enabling said computer to calculatesaid key-locker key, the device being adapted for accessing saidcontent, for storing said access keys and for receiving least one ofsaid cryptographic values either from said computer or from saidcryptographic unit, enabling said device to calculate said key-lockerkey.
 13. Computer program comprising computer program code means forcausing a computer to carry out the steps of the method as claimed inclaim 1 when said computer program is run on one or more elements of anaccess control system as claimed in claim 9.